Pair of Linear Mirrors

Move

Move

R1

R2

Image 1

Image 2

d_{M}

2d_{M}

Result

A = Point(a)
B = Point(a)
b = OrthogonalLine(B, a)
e = OrthogonalLine(A, a)
C = Point(e)
c = OrthogonalLine(C, e)
D = Point(c)
u = Vector(C, D)
A' = Translate(A, u)
d = OrthogonalLine(A, a)
f = OrthogonalLine(A', a)
E = (-8.588991939596655, 0.5827204278484075)
F = (-9.008574542060627, 7.715624669735947)
G = (-3.9386180956209627, 7.820520320351937)
H = (-3.588965926900987, 5.303024705568102)
I = (-7.400174565948732, 5.7226073080320745)
J = (-7.365209349076735, 1.2470595484163645)
poly1, e_1, f_1, g, h, i, j = Polygon(E, F, G, H, I, J)
E' = Mirror(E, d)
F' = Mirror(F, d)
G' = Mirror(G, d)
H' = Mirror(H, d)
I' = Mirror(I, d)
J' = Mirror(J, d)
poly1', e', f', g', h', i', j' = Polygon(E', F', G', H', I', J')
E'' = Mirror(E', f)
F'' = Mirror(F', f)
G'' = Mirror(G', f)
H'' = Mirror(H', f)
I'' = Mirror(I', f)
J'' = Mirror(J', f)
poly1'', e'', f'', g'', h'', i'', j'' = Polygon(E'', F'', G'', H'', I'', J'')
k = false
l = false
m = false
n = false
K = Midpoint(C, D)
L = Midpoint(A, C)
p = OrthogonalLine(E, a)
q = OrthogonalLine(E'', a)
r = OrthogonalLine(L, p)
M = Intersect(p, r)
N = Intersect(q, r)
v = Vector(M, N)
s = Segment(M, E)
t = Segment(N, E'')
O = Midpoint(M, N)
o = false

Tool: Complex Multiplication (command ComplexMultiplication)
Select Points at O(0, 0), P(0, -1), A and B for A*B
Input: O, P, A, B
Output: j, AB

c = Circle(O, A)
d = Circle(O, B)
D = Intersect(c, xAxis, 2)
b = Segment(O, A)
f = Segment(O, B)
G = Intersect(d, xAxis, 1)
g = Circle(D, P, G)
E = Intersect(g, yAxis, 2)
e = Circle(O, E)
a, h = AngularBisector(f, b)
D' = Mirror(D, a)
i = Ray(O, D')
AB = Intersect(e, i, 1)
j = Segment(O, AB)

Tool: Complex Division (command ComplexDivision)
Select Points O(0, 0), P(0, -1), A and B for A/B
Input: O, P, A, B
Output: l, C

A/B

c = Circle(O, A)
d = Circle(O, B)
D = Intersect(c, xAxis, 2)
e = AngularBisector(A, O, D)
B' = Mirror(B, e)
f = Ray(O, B')
E = Intersect(c, yAxis, 1)
F = Intersect(d, xAxis, 1)
g = Segment(F, E)
G = Midpoint(g)
h = OrthogonalLine(G, g)
i = Segment(P, F)
H = Midpoint(i)
j = OrthogonalLine(H, i)
I = Intersect(h, j)
k = Circle(I, F)
J = Intersect(k, xAxis, 2)
p = Circle(O, J)
C = Intersect(p, f)
l = Segment(O, C)

Tool: Complex Addition (command ComplexAddition)
Select Points O(0, 0), A and B for A + B
Input: O, A, B
Output: C', c

A + B

u = Vector(O, B)
C' = Translate(A, u)
c = Segment(O, C')

Tool: Complex Subtraction (command ComplexSubtraction)
Select Points O(0, 0), A and B for A - B
Input: O, A, B
Output: c, A'

A - B

u = Vector(B, O)
A'_1 = Translate(A, u)
A' = Translate(A, u)
c = Segment(O, A')